#ifndef CG_TAPIS_H
#define CG_TAPIS_H

#include <QGraphicsItem>
#include "client_jeu.hpp"
#include <cg_cartejoueur.h>

class Cg_Tapis: public QGraphicsObject
{
    Q_OBJECT
public:

    Cg_Tapis();
    QRectF boundingRect() const;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
    void effacerTapis();

protected:

    void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
    void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
    void dropEvent(QGraphicsSceneDragDropEvent *event);

private :

    QPixmap m_tapis[5];
    bool dragOver;
    unsigned int m_numeroJoueur, m_tailleTapis;

public slots :

    void carte_jouee(unsigned int joueur, Carte carte);
    void numero_change(unsigned int n);
    void requete_refusee(Carte posee);
    void adversaires(std::vector<std::string> noms);
    void pli_termine(unsigned int joueur);
    void chien(Carte c1, Carte c2, Carte c3);
    void contrat_final(Enchere e);
    void ecart_accepte(std::vector<Carte> ecart);

signals :

    void dernierPli(QVector<QPixmap> pli);

};

#endif // CG_TAPIS_H
